"""
学生成绩统计：平均分，最高分，最低分，及格人数
"""

class ScorePlatform:

    # 定义成员变量：记录要录入几个学生的成绩
    def __init__(self, num, list):
        self.num = num
        self.list = list

    # 转换成绩类型为浮点数？
    def change(self):
        for score in list:
            score = float(score)
        return list

    # 判断成绩是否超过范围
    def right_score(self):
        for i in range(0, num):
            if list[i] > 100 or list[i] < 0:
                print(f"第{i+1}个学生的成绩超出范围，请重新输入列表")



    # 平均分
    def average(self):
        total = None
        for score in list:
            total += score
        return total / num

    # 最高分
    def highest(self):
        highest = list[0]
        for score in list[1:]:
            if score > highest:
                highest = score
        return highest

    # 最低分
    def lowest(self):
        lowest = list[0]
        for score in list[1:]:
            if score > highest:
                lowest = score
        return lowest

    # 及格人数
    def up_to_par(self):
        i = None
        for score in list:
            if score >= 60:
                i += 1
        return i


# 运行
if __name__ == '__main__':

    num = int(input("你要记录多少个学生的成绩？"))

    print("成绩输入格式样例：90， 89， 77， ...")
    list = input("请以列表的形式输入学生的成绩：")

    score_platform = ScorePlatform(num, list)

    score_platform.right_score()
    change_list = score_platform.change()

    average = score_platform.average()
    highest = score_platform.highest()
    lowest = score_platform.lowest()
    up_to_par = score_platform.up_to_par()

    print(f"统计结果：这批学生的平均分为{average}分， 最高分为{highest}分， 最低分为{lowest}分， 及格人数为{up_to_par}人")